/**
 * 环境配置文件
 * 用于管理不同环境的API地址和其他配置
 */

// 获取当前环境
const getEnv = () => {
  // 尝试通过不同方式判断环境
  try {
    // 优先检查 process.env.NODE_ENV (H5 和 APP 端)
    if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV) {
      return process.env.NODE_ENV
    }

    // 检查是否在微信小程序环境
    if (typeof wx !== 'undefined' && wx.getAccountInfoSync) {
      const accountInfo = wx.getAccountInfoSync()
      // 只有在开发工具中且是开发版本才认为是开发环境
      if (accountInfo.miniProgram.envVersion === 'develop' &&
          typeof uni !== 'undefined' && uni.getSystemInfoSync().platform === 'devtools') {
        return 'development'
      } else if (accountInfo.miniProgram.envVersion === 'trial') {
        return 'staging'
      } else {
        // 编译后的小程序（即使环境是develop）也使用生产配置
        return 'production'
      }
    }

    // 检查是否在开发环境（通过一些特征判断）
    if (typeof uni !== 'undefined') {
      // 在 uni-app 环境中，可以通过一些方式判断
      const systemInfo = uni.getSystemInfoSync()
      // 如果是开发工具环境
      if (systemInfo.platform === 'devtools') {
        return 'development'
      }
    }
  } catch (error) {
    console.warn('环境检测失败，使用默认生产环境:', error.message)
  }

  // 默认生产环境
  return 'production'
}

const env = getEnv()

// 环境配置
const config = {
  development: {
    baseURL: '/jkApi', // 开发环境使用代理
    timeout: 30000,
    enableLog: true
  },
  staging: {
    baseURL: 'https://gm.cdmmotor.com:8843/api', // 测试环境
    timeout: 30000,
    enableLog: true
  },
  production: {
    baseURL: 'https://gm.cdmmotor.com:8843/api', // 生产环境
    timeout: 30000,
    enableLog: false
  }
}

// 导出当前环境的配置
const currentConfig = config[env] || config.production

// 导出环境信息
export { currentConfig, env, config }

// 默认导出
export default currentConfig